<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
            "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
	<title>Child Modules - Screenbar Documentation</title>
	<link rel="stylesheet" type="text/css" media="screen" href="style.css">
</head>
<body>

<H1>Child Modules</H1>

<P>Other modules can be nested inside Screenbar panels by using the 'module'
element type. Screenbar loads the module, then uses bang commands and
configuration variables to position and control it.</P>

<P>Since child modules are loaded by Screenbar itself, you should not use
*NetLoadModule to load the module as you normally would. Instead, you can use
*NetInstallModule, which verifies that the module is present and ready to be
loaded, but doesn't actually load it.</P>

<div id="configoption">
	Child module elements inherit <a href="layout.html#common">common layout
	options</a> and <a href="layout.html#positioning">positionable element
	options</a>.
</div>

<div id="configoption" name="prefixDLL">
	<div id="prototype">(prefix)DLL [string]</div>
	<div id="description">
		The DLL which corresponding to the module. This should be an absolute path,
		so include $ModulesDir$ in the definition.
	</div>
</div>

<div id="configoption" name="prefixSingleton">
	<div id="prototype">(prefix)Singleton [bool]</div>
	<div id="defaultval">Default: true</div>
	<div id="description">
		If set, only one instance of this module can be used, even if it appears
		in the layout more than once or if the layout is used for more than one
		panel.
	</div>
</div>

<div id="configoption" name="prefixPrefix">
	<div id="prototype">(prefix)Prefix [string]</div>
	<div id="defaultval">Default: ""</div>
	<div id="description">
		The prefix which this module's configuration variables and bang commands
		start with. This is used only to fill in the defaults for the module's
		variable names and bang commands.
	</div>
</div>

<div id="configoption">
	<div id="prototype" name="prefixVarX">(prefix)VarX [string]</div>
	<div id="prototype" name="prefixVarY">(prefix)VarY [string]</div>
	<div id="prototype" name="prefixVarWidth">(prefix)VarWidth [string]</div>
	<div id="prototype" name="prefixVarHeight">(prefix)VarHeight [string]</div>
	<div id="defaultval">Default: ""</div>
	<div id="description">
		The names of the variables that control the module's placement and
		size. By default, these are created by appending X, Y, Width, and
		Height to the module prefix.
	</div>
</div>

<div id="configoption">
	<div id="prototype" name="prefixMoveCommand">(prefix)MoveCommand [command]</div>
	<div id="prototype" name="prefixResizeCommand">(prefix)ResizeCommand [command]</div>
	<div id="defaultval">Default: ""</div>
	<div id="description">
		The names of bang commands that move and resize the module. The new
		position or size is appended to the command when it is run. By default,
		these are created by appending Move and Resize to the module prefix. If
		the move command is incorrectly set or doesn't work, the module will start
		in the right place but will not be able to move in response to changes in
		the layout. If the resize command is incorrectly set or doesn't work, the
		module will be limited to a fixed size.
	</div>
</div>

<div id="configoption" name="prefixResizedEvent">
	<div id="prototype">(prefix)ResizedEvent [command]</div>
	<div id="defaultval">Default: ""</div>
	<div id="description">
		The name of a bang command which Screenbar will register and which the
		child module will execute to indicate that it has resized itself, passing
		the new size as parameters.
	</div>
</div>

<div id="navigation">
	<a href="snapshot.html">Previous Page</a>
	<a href="index.html">Index</a>
	<a href="animations.html">Next Page</a>
</div>

</body>
</html>
